Soru & Cevap

Arduino Park Sensörü Sorunu

23.05.2017 - 04:53

İyi günler arkadaşlar.

 Arduino da ledler ve buzzer kullanarak  park sensörü yaptım. ledleri devreden kaldırıp sadece buzzerla yaptığım zaman doğru çalışmadı sizce sorun ne olabilir.

yazdığım kod bu :

 

const int trigger_pin = 2;
const int echo_pin = 1;
const int buzzer = 3;

int sure ;
long microsaniyeSure, cmMesafe;

void setup() {
  pinMode(buzzer , OUTPUT);
  pinMode(trigger_pin , OUTPUT);
  pinMode(echo_pin , INPUT);
  Serial.begin(9600);
}

void loop() {
  digitalWrite(trigger_pin , HIGH);
  delayMicroseconds(1000);
  digitalWrite(trigger_pin , LOW);
  sure = pulseIn(echo_pin , HIGH);
  cmMesafe = (sure / 2) / 28.5;

  if ( cmMesafe > 31 )
  {
    digitalWrite(buzzer , LOW);
    delay(10);
    digitalWrite(buzzer , LOW);
    delay(2500);
  }
  else if ( 30 > cmMesafe > 11 )
  {
    digitalWrite(buzzer , HIGH);
    delay(250);
    digitalWrite(buzzer , LOW);
    delay(250);
  }
  else if ( 10 > cmMesafe > 0 )
  {
    digitalWrite(buzzer , HIGH);
    delay(100);
    digitalWrite(buzzer , LOW);
    delay(100);
  }
}

Tüm sosyal medyada kullanıcı adım metyuksel . teşekkürler ederim.

118 Görüntülenme

1 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

Profile picture for user fatihmehmetyy
fatihmehmetyy
26.05.2017 - 05:28

oid loop() {
  digitalWrite(trigger_pin , HIGH);
  delayMicroseconds(1000);
  digitalWrite(trigger_pin , LOW);
  sure = pulseIn(echo_pin , HIGH);
  cmMesafe = (sure / 2) / 28.5;

 

bunun yerine şunu kullansan nasıl olur?

int duration1, distance1;
    digitalWrite (trigPin1, HIGH);
    delayMicroseconds (10);
    digitalWrite (trigPin1, LOW);
    duration1 = pulseIn (echoPin1, HIGH);
    distance1 = (duration1/2) / 29.1;

 

birde şunu değiştir bakalım

else if ( 30 > cmMesafe > 11 ) 

yerine

else if(cmMesafe > 11 && cmMesafe<30)